package com.atm.thirdplt.service;

import com.atm.thirdplt.common.core.domain.his.*;
import com.atm.thirdplt.common.core.domain.lis.LisLabResult;
import com.atm.thirdplt.common.core.domain.lis.LisLabTestMaster;

import java.util.List;

/**
 * his数据同步业务接口类
 *
 * @author atm
 */
public interface IHisInfQueryService {

    /**
     * 从his库查询科室信息
     *
     * @return 科室集合信息
     */
    List<HisDeptDict> selDeptDic();

    /**
     * 从his库查询工作人员信息
     *
     * @return 工作人员信息集合
     */
    List<HisUsers> selHisUsers();

    /**
     * 根据时间范围查询His手术预约申请信息
     *
     * @param patId
     * @param visitId
     * @param startTime
     * @param endTime
     * @return
     */
    List<HisOperationSchedule> selHisOpertSchele(String patId, String visitId, String startTime, String endTime);

    List<HisScheduledOperationName> selScheOperNameHis(String patId, String visitId, String scheduleId);

    List<HisPatsInHospital> selPatInHosHis(List<String> patIds);

    List<HisPatMasterIndex> selPatInfHis(List<String> patIdList);

    List<HisPatMasterIndex> selPatInfByConHis(String patId);

    List<HisOperationDict> selOperDicHis();

    List<HisPatsInHospital> selPatInHosByConHis(String patId, String inpNo);

    /**
     * 根据条件从lis库查询病人检验申请主信息
     *
     * @return 科室集合信息
     */
    List<LisLabTestMaster> selLabMaster(String patId, String inpNo, String visitId);

    /**
     * 从lis库查询病人检验申请详细信息
     *
     * @return 科室集合信息
     */
    List<LisLabResult> selLabResult(List<String> testNo);

    /**
     * @Description:通过门诊号查询基本信息
     * @Author: chenyang
     * @Date: 2021/12/22 20:07
     * @param clinicNumber:
     * @return: null
     **/
    List<HisPatMasterIndex> selPatInfByClinicNumber(String clinicNumber);
}
